// 给你一个 下标从 0 开始 的整数数组 nums ，返回满足下述条件的 不同 四元组 (a, b, c, d) 的 数目 ：

// nums[a] + nums[b] + nums[c] == nums[d] ，且
// a < b < c < d
 

// 示例 1：

// 输入：nums = [1,2,3,6]
// 输出：1
// 解释：满足要求的唯一一个四元组是 (0, 1, 2, 3) 因为 1 + 2 + 3 == 6 。
// 示例 2：

// 输入：nums = [3,3,6,4,5]
// 输出：0
// 解释：[3,3,6,4,5] 中不存在满足要求的四元组。
// 示例 3：

// 输入：nums = [1,1,1,3,5]
// 输出：4
// 解释：满足要求的 4 个四元组如下：
// - (0, 1, 2, 3): 1 + 1 + 1 == 3
// - (0, 1, 3, 4): 1 + 1 + 3 == 5
// - (0, 2, 3, 4): 1 + 1 + 3 == 5
// - (1, 2, 3, 4): 1 + 1 + 3 == 5

#include<bits/stdc++.h>
using namespace std;

class Solution {
public:
    int countQuadruplets(vector<int>& nums) {
        int res =0;
        if(nums.size()<4){
            return res;
        }

        int sum=0;
        for(int i=0;i<nums.size();++i){
            sum += nums[i];
            for(int j=i+1;j<nums.size();++j){
                sum += nums[j];
                for(int k=j+1;k<nums.size();++k){
                    sum += nums[k];
                    for(int z=k+1;z<nums.size();++z){
                        if(sum == nums[z]){
                            ++res;
                        }
                    }
                    sum = sum-nums[k];
                }
                sum = sum-nums[j];
            }
            sum = sum-nums[i];
        }
        return res;
    }
};